# -*- coding:utf-8 -*-

from flask import Blueprint, current_app, make_response
from flask_wtf import csrf

# 创建静态文件访问的蓝图
html = Blueprint("html", __name__)

# 定义静态文件访问的路由
@html.route("/<re('.*'):file_name>")
def get_html_file(file_name):

    if not file_name:
        file_name = "index.html"

    # 当去加载网站的logo的时候,其文件是放在static的目录下,直接子级
    if file_name != "favicon.ico":
        file_name = "html/" + file_name
    # 通过当前app去查找到静态文件夹下的指定文件
    response = make_response(current_app.send_static_file(file_name))
    # 为客户端设置csrf_token
    csrf_token = csrf.generate_csrf()
    # 将csrf_token数据设置到用户的cookie中
    response.set_cookie('csrf_token', csrf_token)
    return response